<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>过滤器-日期</title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app"> 
		    <h3>{{time}}</h3> 
			<h3>{{time | format('yyyy-MM-dd hh:mm:ss.SSS')}}</h3>
			<h3>{{dotime | format('yyyy-MM-dd hh:mm:ss')}}</h3> 
			
		</div>
		<script>
			//设置一个全局的日期格式化的过滤器
			Vue.filter("format",function(value,pattern){
				function dateFormat(date, format) {
				    if (typeof date === "string") {
				        var mts = date.match(/(\/Date\((\d+)\)\/)/);
				        if (mts && mts.length >= 3) {
				            date = parseInt(mts[2]);
				        }
				    }
				    date = new Date(date);
				    if (!date || date.toUTCString() == "Invalid Date") {
				        return "";
				    }
				    var map = {
				        "M": date.getMonth() + 1, //月份 
				        "d": date.getDate(), //日 
				        "h": date.getHours(), //小时 
				        "m": date.getMinutes(), //分 
				        "s": date.getSeconds(), //秒 
				        "q": Math.floor((date.getMonth() + 3) / 3), //季度 
				        "S": date.getMilliseconds() //毫秒 
				    };
				
				    format = format.replace(/([yMdhmsqS])+/g, function(all, t) {
				        var v = map[t];
				        if (v !== undefined) {
				            if (all.length > 1) {
				                v = '0' + v;
				                v = v.substr(v.length - 2);
				            }
				            return v;
				        } else if (t === 'y') {
				            return (date.getFullYear() + '').substr(4 - all.length);
				        }
				        return all;
				    });
				    return format;
				}
				return dateFormat(value,pattern);
			});
			
			let vm=new Vue({
				el:'#app',
				data:{
					 time:new Date(),
					 //采用毫秒描述的时间
					 dotime:1472828537000
				} 
			});
		</script>
	</body>
</html>
